package routes

import (
	"github.com/gin-gonic/gin"

	"ppp/internal/api"
)

// SetupRoutes 设置所有路由
func SetupRoutes(router *gin.Engine) {
	// 创建处理器
	userHandler := api.NewUserHandler()
	newsHandler := api.NewNewsHandler()

	// API路由组
	apiGroup := router.Group("/api")
	{
		// 用户相关路由
		usersGroup := apiGroup.Group("/users")
		{
			usersGroup.POST("", userHandler.CreateUser)       // 创建用户
			usersGroup.GET("", userHandler.ListUsers)         // 获取用户列表
			usersGroup.GET("/:id", userHandler.GetUser)       // 获取用户详情
			usersGroup.PUT("/:id", userHandler.UpdateUser)    // 更新用户信息
			usersGroup.DELETE("/:id", userHandler.DeleteUser) // 删除用户
		}

		// 新闻相关路由
		newsGroup := apiGroup.Group("/news")
		{
			newsGroup.POST("", newsHandler.CreateNews)       // 创建新闻
			newsGroup.GET("", newsHandler.ListNews)         // 获取新闻列表
			newsGroup.GET("/:id", newsHandler.GetNews)       // 获取新闻详情
			newsGroup.PUT("/:id", newsHandler.UpdateNews)    // 更新新闻信息
			newsGroup.DELETE("/:id", newsHandler.DeleteNews) // 删除新闻
		}
	}

	// 健康检查路由 - 使用统一响应格式
	router.GET("/health", func(c *gin.Context) {
		api.SuccessWithMessage(c, "服务运行正常", gin.H{"status": "ok"})
	})
}
